using System;
using System.Collections.Generic;
using System.Text;

namespace UMC.WorkFlow
{
    /// <summary>
    /// 作业在运行时发生的事件
    /// </summary>
    public interface InstanceEvent
    {
        /// <summary>
        /// 进行审批通过事件
        /// </summary>
        event TaskEvent OnApproved;
        /// <summary>
        /// 开始进行审批事件
        /// </summary>
        event TaskEvent OnBeginProcess;
        /// <summary>
        /// 审批完成事件
        /// </summary>
        event TaskEvent OnCompleted;
        /// <summary>
        /// 审批结尾事件（处理完所有逻辑后，触发些事件）
        /// </summary>
        event TaskEvent OnEndProcess;
        /// <summary>
        /// 进行驳回事件
        /// </summary>
        event TaskEvent OnRejected;
        /// <summary>
        /// 进行提交事件
        /// </summary>
        event TaskEvent OnSubmitted;
        /// <summary>
        /// 对工作流图进行挂起事件
        /// </summary>
        event TaskEvent OnLocked;
        /// <summary>
        /// 当流程通过一层时触发当前事件(注意：不与OnSubmitted一起触发);
        /// </summary>
        event TaskEvent OnPassLayer;


    }
}
